<?php

namespace App\Kuafu\Shop\Model;

use App\Kuafu\Base\Model\BaseModel;
use App\Kuafu\Base\Model\Traits\KfSoftDeletes;
use App\Kuafu\Base\Model\Traits\KfUid;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Relations\HasMany;

class ShopAttributeCategoryModel extends BaseModel
{
    use HasFactory, KfSoftDeletes, KfUid;

    protected $connection = 'mysql';
    protected $table      = 'shop_attribute_category';
    protected $fillable   = [
        'id',
        'type',
        'name',
        'isEdit',
        'createdAt',
        'updatedAt',
        'createdByUid',
        'updatedByUid',
        'isDeleted',
    ];

    const TYPE_RADIO = 1;
    const TYPE_MULTI = 2;

    const TYPE_TEXT_MAPPING = [
        self::TYPE_RADIO => "单选",
        self::TYPE_MULTI => "多选",
    ];

    const NOT_EDIT = 0;
    const CAN_EDIT = 1;

    const EDIT_TEXT_MAPPING = [
        self::NOT_EDIT => '不可编辑',
        self::CAN_EDIT => '可编辑',
    ];

    const CATEGORY_ID_1  = 1;
    const CATEGORY_ID_2  = 2;
    const CATEGORY_ID_3  = 3;
    const CATEGORY_ID_4  = 4;
    const CATEGORY_ID_5  = 5;
    const CATEGORY_ID_6  = 6;
    const CATEGORY_ID_7  = 7;
    const CATEGORY_ID_8  = 8;
    const CATEGORY_ID_9  = 9;
    const CATEGORY_ID_10 = 10;
    const CATEGORY_ID_11 = 11;
    const CATEGORY_ID_12 = 12;
    const CATEGORY_ID_13 = 13;
    const CATEGORY_ID_14 = 14;
    const CATEGORY_ID_15 = 15;
    const CATEGORY_ID_16 = 16;
    const CATEGORY_ID_17 = 17;

    const ID_TEXT_MAPPING = [
        self::CATEGORY_ID_1  => '门店性质',// 单选 加盟店 直营店
        self::CATEGORY_ID_2  => '店型',// 单选 旗舰店 精选店 标准店 团餐店 直营店-培训直营 直营店-广告直营 直营店-短期直营 直营店-测试直营
        self::CATEGORY_ID_3  => '选址场景',// 多选 商场 社区 学校 园区 景区 服务区 大厂食堂
        self::CATEGORY_ID_4  => '售卖品类',// 多选 炸串 炸鸡 主食 包装饮品 景区精选
        self::CATEGORY_ID_5  => '选址场景分级',// 单选 S A B C D
        self::CATEGORY_ID_6  => '点餐动线',// 单选 自选 嘴点
        self::CATEGORY_ID_7  => '工程条件-展面',// 范围内输入值 ＜2.5米，2.5-3米（不含3米），3-5（不含5米），5米及以上
        self::CATEGORY_ID_8  => '工程条件-面积',// 范围内输入值 ＜15平米，15-30平米，＞30平米
        self::CATEGORY_ID_9  => '工程条件-进深',// 范围内输入值 小于3米，3-5米（不含5），5米及以上
        self::CATEGORY_ID_10 => '工程条件-电量',// 范围内输入值 小于30KW，30-35KW（不含35），≥35KW
        self::CATEGORY_ID_11 => '产品定价',// （菜单等级）单选 A级(一线+西藏) B级(新一/二/三线城市) C级(四/五线) S级(精选产品特殊定价) 其他
        self::CATEGORY_ID_12 => '门店状态',// 单选 选址中 筹备中 正常营业 暂停营业 闭店
        self::CATEGORY_ID_13 => '迁址状态',// 单选 是 or 否
        self::CATEGORY_ID_14 => '收银设备',// 单选 夸父收银 美团收银 其他收银
        self::CATEGORY_ID_15 => '自定义标签',// 多选 自定义标签
        self::CATEGORY_ID_16 => '城市分级',// 单选 一线 二线 三线 四线 五线
        self::CATEGORY_ID_17 => '城市',// 城市
    ];

    const CITY_GRADE_TEXT_MAPPING = [
        1 => '一线',
        2 => '二线',
        3 => '三线',
        4 => '四线',
        5 => '五线',
    ];

    public function attributeRel(): hasMany
    {
        return $this->hasMany(ShopAttributeModel::class, 'categoryId', 'id')->select(['id', 'categoryId', 'name']);
    }

}
